package com.ruoyi.asset.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 物品管理-固定资产对象 tb_assets
 *
 * @author ruoyi
 * @date 2025-01-24
 */
public class TbAssets extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 资产ID */
    private Long assetId;

    /** 企业id */
    @Excel(name = "企业id")
    private Integer corpId;

    /** 资产编号(GZ_当前时间戳) */
    @Excel(name = "资产编号(GZ_当前时间戳)")
    private String assetNo;

    /** 资产名称 */
    @Excel(name = "资产名称")
    private String assetName;

    /** 分类(字典表 物业/公共) */
    @Excel(name = "分类(字典表 物业/公共)")
    private String assetType;

    /** 使用部门 */
    @Excel(name = "使用部门")
    private Long deptId;

    /** 使用部门名称 */
    @Excel(name = "使用部门名称")
    private String deptName;

    /** 购入时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "购入时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date assetBuyDate;

    /** 资产原值 */
    @Excel(name = "资产原值")
    private BigDecimal initialAssetValue;

    /** 数量 */
    @Excel(name = "数量")
    private Long QUANTITY;

    /** 资产净值 */
    @Excel(name = "资产净值")
    private BigDecimal netAssetValue;

    /** 累计折旧 */
    @Excel(name = "累计折旧")
    private BigDecimal accumulatedDepreciation;

    /** 实际资产净值 */
    @Excel(name = "实际资产净值")
    private BigDecimal actualNetAssetValue;

    /** 是否盈亏（字典表） */
    @Excel(name = "是否盈亏", readConverterExp = "字=典表")
    private Long isRendered;

    /** 责任人 */
    @Excel(name = "责任人")
    private Long liablePersonId;

    /** 责任人姓名 */
    @Excel(name = "责任人姓名")
    private String liablePersonName;

    /** 原因 */
    @Excel(name = "原因")
    private String assetReason;

    /** 存入地点 */
    @Excel(name = "存入地点")
    private String depositeLocation;

    /** 状态（字典表） */
    @Excel(name = "状态", readConverterExp = "字=典表")
    private Long assetState;

    /** 操作人 */
    @Excel(name = "操作人")
    private Long OP;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date opDate;

    /** 规格 */
    @Excel(name = "规格")
    private String SPECS;

    /** 型号 */
    @Excel(name = "型号")
    private String MODEL;

    /** 报废时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报废时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date scrapDate;

    /** 维护计划 */
    @Excel(name = "维护计划")
    private String maintenancePlan;

    /** 运维团队 */
    @Excel(name = "运维团队")
    private String operationsTeam;

    /** 专题 */
    @Excel(name = "专题")
    private Long subjectId;

    /** 设备类型 */
    @Excel(name = "设备类型")
    private Long modelId;

    /** 厂商（用字典表） */
    @Excel(name = "厂商", readConverterExp = "用=字典表")
    private Long manufactorId;

    /** 分类（用分类表） */
    @Excel(name = "分类", readConverterExp = "用=分类表")
    private String categoryId;

    /** 保修到期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "保修到期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date warrantyExpiration;

    /** 使用人 */
    @Excel(name = "使用人")
    private Long assetUserId;

    /** 使用人姓名 */
    @Excel(name = "使用人姓名")
    private String assetUserName;

    /** 条型码 */
    @Excel(name = "条型码")
    private String barCode;

    /** 序列号 */
    @Excel(name = "序列号")
    private String serialNumber;

    /** 附件信息 */
    @Excel(name = "附件信息")
    private List<BackFiles> files;

    public List<BackFiles> getFiles() {
        return files;
    }

    public void setFiles(List<BackFiles> files) {
        this.files = files;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getLiablePersonName() {
        return liablePersonName;
    }

    public void setLiablePersonName(String liablePersonName) {
        this.liablePersonName = liablePersonName;
    }

    public String getAssetUserName() {
        return assetUserName;
    }

    public void setAssetUserName(String assetUserName) {
        this.assetUserName = assetUserName;
    }

    public void setAssetId(Long assetId)
    {
        this.assetId = assetId;
    }

    public Long getAssetId()
    {
        return assetId;
    }
    public void setCorpId(Integer corpId)
    {
        this.corpId = corpId;
    }

    public Integer getCorpId()
    {
        return corpId;
    }
    public void setAssetNo(String assetNo)
    {
        this.assetNo = assetNo;
    }

    public String getAssetNo()
    {
        return assetNo;
    }
    public void setAssetName(String assetName)
    {
        this.assetName = assetName;
    }

    public String getAssetName()
    {
        return assetName;
    }
    public void setAssetType(String assetType)
    {
        this.assetType = assetType;
    }

    public String getAssetType()
    {
        return assetType;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setAssetBuyDate(Date assetBuyDate)
    {
        this.assetBuyDate = assetBuyDate;
    }

    public Date getAssetBuyDate()
    {
        return assetBuyDate;
    }
    public void setInitialAssetValue(BigDecimal initialAssetValue)
    {
        this.initialAssetValue = initialAssetValue;
    }

    public BigDecimal getInitialAssetValue()
    {
        return initialAssetValue;
    }
    public void setQUANTITY(Long QUANTITY)
    {
        this.QUANTITY = QUANTITY;
    }

    public Long getQUANTITY()
    {
        return QUANTITY;
    }
    public void setNetAssetValue(BigDecimal netAssetValue)
    {
        this.netAssetValue = netAssetValue;
    }

    public BigDecimal getNetAssetValue()
    {
        return netAssetValue;
    }
    public void setAccumulatedDepreciation(BigDecimal accumulatedDepreciation)
    {
        this.accumulatedDepreciation = accumulatedDepreciation;
    }

    public BigDecimal getAccumulatedDepreciation()
    {
        return accumulatedDepreciation;
    }
    public void setActualNetAssetValue(BigDecimal actualNetAssetValue)
    {
        this.actualNetAssetValue = actualNetAssetValue;
    }

    public BigDecimal getActualNetAssetValue()
    {
        return actualNetAssetValue;
    }
    public void setIsRendered(Long isRendered)
    {
        this.isRendered = isRendered;
    }

    public Long getIsRendered()
    {
        return isRendered;
    }
    public void setLiablePersonId(Long liablePersonId)
    {
        this.liablePersonId = liablePersonId;
    }

    public Long getLiablePersonId()
    {
        return liablePersonId;
    }
    public void setAssetReason(String assetReason)
    {
        this.assetReason = assetReason;
    }

    public String getAssetReason()
    {
        return assetReason;
    }
    public void setDepositeLocation(String depositeLocation)
    {
        this.depositeLocation = depositeLocation;
    }

    public String getDepositeLocation()
    {
        return depositeLocation;
    }
    public void setAssetState(Long assetState)
    {
        this.assetState = assetState;
    }

    public Long getAssetState()
    {
        return assetState;
    }
    public void setOP(Long OP)
    {
        this.OP = OP;
    }

    public Long getOP()
    {
        return OP;
    }
    public void setOpDate(Date opDate)
    {
        this.opDate = opDate;
    }

    public Date getOpDate()
    {
        return opDate;
    }
    public void setSPECS(String SPECS)
    {
        this.SPECS = SPECS;
    }

    public String getSPECS()
    {
        return SPECS;
    }
    public void setMODEL(String MODEL)
    {
        this.MODEL = MODEL;
    }

    public String getMODEL()
    {
        return MODEL;
    }
    public void setScrapDate(Date scrapDate)
    {
        this.scrapDate = scrapDate;
    }

    public Date getScrapDate()
    {
        return scrapDate;
    }
    public void setMaintenancePlan(String maintenancePlan)
    {
        this.maintenancePlan = maintenancePlan;
    }

    public String getMaintenancePlan()
    {
        return maintenancePlan;
    }
    public void setOperationsTeam(String operationsTeam)
    {
        this.operationsTeam = operationsTeam;
    }

    public String getOperationsTeam()
    {
        return operationsTeam;
    }
    public void setSubjectId(Long subjectId)
    {
        this.subjectId = subjectId;
    }

    public Long getSubjectId()
    {
        return subjectId;
    }
    public void setModelId(Long modelId)
    {
        this.modelId = modelId;
    }

    public Long getModelId()
    {
        return modelId;
    }
    public void setManufactorId(Long manufactorId)
    {
        this.manufactorId = manufactorId;
    }

    public Long getManufactorId()
    {
        return manufactorId;
    }
    public void setCategoryId(String categoryId)
    {
        this.categoryId = categoryId;
    }

    public String getCategoryId()
    {
        return categoryId;
    }
    public void setWarrantyExpiration(Date warrantyExpiration)
    {
        this.warrantyExpiration = warrantyExpiration;
    }

    public Date getWarrantyExpiration()
    {
        return warrantyExpiration;
    }
    public void setAssetUserId(Long assetUserId)
    {
        this.assetUserId = assetUserId;
    }

    public Long getAssetUserId()
    {
        return assetUserId;
    }
    public void setBarCode(String barCode)
    {
        this.barCode = barCode;
    }

    public String getBarCode()
    {
        return barCode;
    }
    public void setSerialNumber(String serialNumber)
    {
        this.serialNumber = serialNumber;
    }

    public String getSerialNumber()
    {
        return serialNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("assetId", getAssetId())
            .append("corpId", getCorpId())
            .append("assetNo", getAssetNo())
            .append("assetName", getAssetName())
            .append("assetType", getAssetType())
            .append("deptId", getDeptId())
            .append("assetBuyDate", getAssetBuyDate())
            .append("initialAssetValue", getInitialAssetValue())
            .append("QUANTITY", getQUANTITY())
            .append("netAssetValue", getNetAssetValue())
            .append("accumulatedDepreciation", getAccumulatedDepreciation())
            .append("actualNetAssetValue", getActualNetAssetValue())
            .append("isRendered", getIsRendered())
            .append("liablePersonId", getLiablePersonId())
            .append("assetReason", getAssetReason())
            .append("depositeLocation", getDepositeLocation())
            .append("assetState", getAssetState())
            .append("OP", getOP())
            .append("opDate", getOpDate())
            .append("SPECS", getSPECS())
            .append("MODEL", getMODEL())
            .append("scrapDate", getScrapDate())
            .append("maintenancePlan", getMaintenancePlan())
            .append("operationsTeam", getOperationsTeam())
            .append("subjectId", getSubjectId())
            .append("modelId", getModelId())
            .append("manufactorId", getManufactorId())
            .append("categoryId", getCategoryId())
            .append("updateTime", getUpdateTime())
            .append("warrantyExpiration", getWarrantyExpiration())
            .append("assetUserId", getAssetUserId())
            .append("barCode", getBarCode())
            .append("serialNumber", getSerialNumber())
            .toString();
    }
}
